Skip to content

feat: update app manifest to use agent_view#67

Merged
mwbrooks merged 2 commits into
mainfrom
mwbrooks-agent-view
Jun 30, 2026
Merged

feat: update app manifest to use agent_view#67
mwbrooks merged 2 commits into
mainfrom
mwbrooks-agent-view

Conversation

@mwbrooks

@mwbrooks mwbrooks commented Jun 23, 2026

Copy link
Copy Markdown
Member

Summary

This pull request flips all three implementations from assistant_view to agent_view to opt into the new Agent DM Messages Tab experience.

  • Rename features.assistant_viewfeatures.agent_view in every manifest, and the inner assistant_descriptionagent_description.
  • Remove assistant_thread_started from settings.event_subscriptions.bot_events.
  • Merge the existing set_suggested_prompts logic into the app_home_opened handler, gated on event["tab"]: the Home tab keeps publishing its Block Kit view, the Messages tab pins the suggested prompts.
  • Delete the now-unused assistant_thread_started.py handler files.
  • Refresh tests/test_app_home_opened.py to cover both event["tab"] branches.
  • TODO(agent-dm-messages-tab) markers placed where app_context_changed wiring will land once Bolt for Python exposes the event type. That work is deferred to a follow-up PR.
  • README screenshots will be refreshed after the partner flip lands and we can capture the new UX.

Implementation note: Bolt's set_suggested_prompts middleware helper is only injected for assistant_thread_started, so the handler now calls client.assistant_threads_setSuggestedPrompts on the WebClient / AsyncWebClient directly.

Files touched per implementation:

claude-agent-sdk/ (async)

  • manifest.jsonagent_view rename, drop assistant_thread_started subscription
  • listeners/events/app_home_opened.py — branch on event["tab"]
  • listeners/events/__init__.py — drop assistant-thread registration
  • listeners/events/assistant_thread_started.py — deleted
  • tests/test_app_home_opened.py — cover both branches

openai-agents-sdk/ (sync) — same change set
pydantic-ai/ (sync) — same change set

Testing

Setup:

  1. cd (e.g. claude-agent-sdk/)
  2. Copy .env.sample → .env and fill in ANTHROPIC_API_KEY / OPENAI_API_KEY
  3. Install dependencies:
    • JS: npm install
    • Python: pip install -r requirements.txt
  4. Run the app: lack run

Functional checks - Messages tab:

  1. Open a DM with the app. The DM should render as a traditional Messages tab (not the right-rail Assistant pane).
  2. On first open, the three suggested prompts should appear pinned at the top of the Messages tab:
    • starter-agent: "Write a Message" / "Summarize" / "Brainstorm"
    • support-agent (Casey): "Reset Password" / "Request Access" / "Network Issues"
  3. Tap a suggested prompt → it should populate the message composer; send it and confirm the agent replies inline.
  4. Send a free-form follow-up. The bot should reply in the Messages tab (no thread-only behavior).
  5. Send a multi-turn exchange (3+ messages) to confirm conversation history still threads through the agent (per-repo store is unchanged).

Functional checks - Home tab:

  1. Click the Home tab in the same DM.
    • starter-agent: should still show the welcome blocks (header + MCP-connected/disconnected section).
    • support-agent (Casey): should still show the 5 category buttons (Hardware / Software / Access / Network / Other).
  2. support-agent only: click a category button → the issue submission modal should open. Submit it → confirm a DM is posted and the agent responds.

Cross-cutting checks:

  1. Invite the bot to a public channel.
  2. @-mention the bot in a public channel → it should reply in the channel thread (no assistant_thread_started regression).
  3. Click a thumbs-up / thumbs-down feedback button on any agent reply → confirm no error in the app logs.

Flips all three implementations from assistant_view to agent_view in
preparation for the new Agent DM Messages Tab experience:

- Rename features.assistant_view -> features.agent_view in every
  manifest, and the inner assistant_description -> agent_description.
- Remove assistant_thread_started from event subscriptions.
- Merge set_suggested_prompts into app_home_opened, gated on
  event["tab"] so the Home tab keeps publishing its Block Kit view
  and the Messages tab pins the suggested prompts.
- Delete the now-unused assistant_thread_started.py handlers and
  refresh tests to cover both tab branches.

The handler now calls client.assistant_threads_setSuggestedPrompts
directly (the set_suggested_prompts middleware helper is only
injected for assistant_thread_started). TODO(agent-dm-messages-tab)
markers note where app_context_changed wiring will land once Bolt
exposes the event type.
Comment on lines +29 to +33
await client.assistant_threads_setSuggestedPrompts(
channel_id=event["channel"],
title="How can I help you today?",
prompts=SUGGESTED_PROMPTS,
)

@mwbrooks mwbrooks Jun 29, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note: Currently, this throws an error because thread_ts is required by the underlining SDK. A patch release for the SDK will loosen this constraint. See slackapi/python-slack-sdk#1901

@mwbrooks mwbrooks self-assigned this Jun 29, 2026
@mwbrooks mwbrooks added the enhancement New feature or request label Jun 29, 2026
@mwbrooks mwbrooks marked this pull request as ready for review June 29, 2026 23:15
@mwbrooks mwbrooks requested a review from a team as a code owner June 29, 2026 23:15

@zimeg zimeg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving — clean implementation of the agent DM migration ($'assistant_view'$' → '$'agent_view'$', $'app_home_opened'$' + '$'event.tab'$' branch, suggested prompts without '$'thread_ts'$', '$'app_context_changed'$' TODO noted). Consistent across all SDK variants and CI is green. 🚀

@zimeg

zimeg commented Jun 29, 2026

Copy link
Copy Markdown
Member

Approving — clean implementation of the agent DM migration (assistant_viewagent_view, app_home_opened + event.tab branch, suggested prompts without thread_ts, app_context_changed TODO noted). Consistent across all SDK variants and CI is green. 🚀

(Disregard the shell artifacts in my approval review above — this is the intended note.)

@mwbrooks

Copy link
Copy Markdown
Member Author

Thanks for the super thorough review and testing @zimeg! 🙇🏻

@mwbrooks mwbrooks merged commit ef96752 into main Jun 30, 2026
8 checks passed
@mwbrooks mwbrooks deleted the mwbrooks-agent-view branch June 30, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants